Expand description

This crate is part of Sophia, an RDF and Linked Data toolkit in Rust.

Terms are the building blocks of an RDF graph. There are four types of terms: IRIs, blank nodes (BNode for short), literals and variables.

NB: variable only exist in generalized RDF.

This module defines a generic type Term which can be derived differently depending on your needs.

  • RefTerm<'a> (alias of Term<&'a str>) should be used for very short-lived terms, i.e. terms that live less than 'a, which is the lifetime of their underlying text.

  • BoxTerm (alias of Term<Box<str>>) should be used when the term may outlive the text used to create it.

  • RcTerm (alias of Term<Rc<str>>) should also be used for long-lived terms, especially if they need to be cloned multiple times. The use of Rc prevents the duplication of the underlying text, while ensuring that it is cleaned when appropriate.

  • ArcTerm (alias of Term<Arc<str>>) should be used when, additionally, terms need to be sent to other threads.

  • StaticTerm (alias of Term<&'static str>) is a special case of RefTerm` where the underlying text is a static string. Those terms can live as long as the program runs, and be cloned and sent without any restriction.

  • MownTerm (alias of `Term<MownStr<’a>>) should be used in situations where some terms can borrow their data, while others need to own it.

Modules

Blank node like specified in RDF.

A TermFactory can be used to create terms while preventing the proliferation of duplicate string.

A trait for bidirectional mappings between terms and indexes of a smaller type.

IRIs for identifying resources like specified in RDF.

RDF literals like specified in RDF.

matcherDeprecated

This is a re-exports of sophia_api::term::matcher to ease transition from older versions of Sophia.

nsDeprecated

This is a re-exports of sophia_api::ns to ease transition from older versions of Sophia.

Variables like used in SPARQL or universally quantified variables in Notation3.

Enums

Generic type for RDF terms.

This error is raised when the creation of a term fails.

Traits

Trait alias for types holding the textual data of terms.

Functions

DEPRECATED - This is a re-exports of sophia_api::term::same_graph_name to ease transition from older versions of Sophia.

Type Definitions

Convenient alias for a specialization of Term<T>.

Convenient alias for a specialization of Term<T>.

Convenient alias for a specialization of Term<T>.

Convenient alias for a specialization of Term<T>.

Convenient alias for a specialization of Term<T>.

Type alias for Result with default error TermError.

Convenient alias for a specialization of Term<T>.